import java.awt.Frame;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;

public class Demo8 {
////package student.day13;
////
////import java.util.Scanner;
////
////    public class Demo1 {
////        public static void main(String[] args) {
////            Scanner input = new Scanner(System.in);
////            System.out.println("请输入邮箱：");
////            String mail =input.nextLine();
////            //邮箱中不含有@和.
////            if(mail.indexOf("@") == -1) {
////                System.out.println("邮箱中不含有@");
////            }if(mail.indexOf('.') == -1){
////                System.out.println("邮箱中未含有 .");
////            }
////
////            //邮箱中含有多个@和.
////            int a =0; //定义a来代表@的个数
////            for(int x=0;x<mail.length();x++){
////                if(mail.charAt(x) == '@'){
////                    a++;
////                }
////                if(a>1){ System.out.println("邮箱中出现了多个@"); }
////            }
////            int b =0;
////            for(int i=0 ;i<mail.length();i++){
////                if(mail.charAt(i) == '.'){
////                    b++;
////                }
////                if(b>1){
////                    System.out.println("出现了多个.");
////                }
////            }
////
////            //邮箱中.出现在@的前面
////            int index = mail.indexOf("@");
////            int index2 = mail.indexOf('.');
////            if(index > index2){
////                System.out.println("邮箱中‘.’出现在@的前面");
////            }
////
////            //用户名中输入了其他的字符
////
//
//
//        }
//    }

//
//    package student.day14;
//
//    public class ArrayUtil {
//
//        //工具类
//        //私有化构造方法
//        private ArrayUtil(){
//
//        }
//        //方法定义为静态
//        public static String printArr (int [] arr){
//            //StringBuilder 位于Java.lang包下，构造一个没有字符的字符串构建器。意为创建一个没有内容的数组
//            StringBuilder sb =new StringBuilder();
//            //输出前边的[ append为给数组添加到序列中。
//            sb.append("[");
//            //遍历数组
//            for(int i=0;i<arr.length;i++){
//                //判断数组是否为最后一个
//                if(arr.length == -1){
//                    sb.append(arr[i]);
//                }else {
//                    sb.append(arr[i]).append(",");
//                }
//            }
//            //输出后边的]
//            sb.append("]");
//            return sb.toString();
//        }
//
//        //求平均分
//        public static double getAerage (double arr1 []){
//            //首先求出总和，申明求和
//            double sum=0;
//            //遍历数组
//            for(int x=0;x<arr1.length;x++){
//                //求出总和
//                sum=sum+arr1[x];
//            }
//            //平均值：总和除以数组长度
//            return sum/arr1.length;
//        }
//
//    }

//
//    package student.day14;
//
//import java.util.Scanner;
//
//    public class ScannerDemo1 {
//        public static void main(String[] args) {
//            Scanner input =new Scanner(System.in);
//            System.out.println("请输入一个数");
//            int a=input.nextInt();
//            if(a <0){
//                System.out.println("错误，不能小于零");
//            }
//            System.out.println(a);
//        }
//    }

//    package student.day14;
//
//    public class stringDemo1 {
//        public static void main(String[] args) {
//            //直接赋值获取一个字符串对象
//            String a="asaasfja";
//            System.out.println(a);
//
//            //使用new的方式来获取一个字符串对象
//            //空参构造：可以获得一个空白的字符串对象
//            String a2=new String();
//            System.out.println("@"+a2+"&");
//
//            //传递一个字符串，根据传递的内容创建一个新的字符串
//            String a3= new String("sadsd");
//            System.out.println(a3);
//
//            //传递一个字符数组，根据字符数组的内容创建一个新的字符串
//            char [] a4 ={'a','t','i','p'};
//            String a5= new String(a4);
//            System.out.println(a5);
//
//            //传递一个字节数组，根据字节数组内容创建一个新的字符串
//            //应用场景：在网络中传输数据就是字节信息
//            byte [] b ={97,98,99,100};
//            String a6=new String(b);
//            //输出为abcd，并不是数字而是所代表的字母
//            System.out.println(a6);
//
//        }
//    }

//package student.day14;
//
//    public class student {
//        private String name;
//        private int age;
//        private String gender;
//        public static String teacharname;
//
//        public student() {
//        }
//
//        public student(String name, int age, String gender) {
//            this.name = name;
//            this.age = age;
//            this.gender = gender;
//        }
//
//        public String getName() {
//            return name;
//        }
//
//        public void setName(String name) {
//            this.name = name;
//        }
//
//        public int getAge() {
//            return age;
//        }
//
//        public void setAge(int age) {
//            this.age = age;
//        }
//
//        public String getGender() {
//            return gender;
//        }
//
//        public void setGender(String gender) {
//            this.gender = gender;
//        }
//
//        public void show (){
//            System.out.println(name+","+age+","+gender+","+teacharname);
//        }
//
//        public void study (){
//            System.out.println(name+"正在学习");
//        }
//    }

//    package student.day14;
//
//    public class studentTest {
//        public static void main(String[] args) {
//            student.teacharname="小明老师";
//            student s =new student();
//            s.setName("张三");
//            s.setAge(18);
//            s.setGender("男");
////        s.teacharname="小明老师";
//            s.show();
//            s.study();
//
//            student s1=new student();
//            s1.setName("李四");
//            s1.setAge(28);
//            s1.setGender("男");
//            s1.study();
//            s1.show();
//        }
//    }

//package student.day14;
//
//    public class TestDemo {
//
//        public static void main(String[] args) {
//            //测试工具类中的两个方法
//            int arr[] ={5,9,6,3,8};
//            String aaa =ArrayUtil.printArr(arr);
//            System.out.println(aaa);
//
//            double[] arr2 ={2.8,6.4,7.8,9.8};
//            double avg =  ArrayUtil.getAerage(arr2);
//            System.out.println(avg);
//
//        }
//    }

//    package student.day15;
//
//    public class Demo1 {
//        public static void main(String[] args) {
//            //创建两个字符串对象
//            String s1 =new String("sda");
//            String s2 ="sda";
//            String s3 ="abc";
//            String s4 = new String("Abc");
//
//            //用==号来比较两个引用数据类型
//            System.out.print(s1+":"+s2+" ==  ");
//            System.out.println(s1 == s2);//false == 比较引用数据类型是比较地址值
//
//            //用equals来比较字符串的内容是否相等
//            boolean compare =s1.equals(s2);
//            System.out.print(s1+":"+s2+"  equals  ");
//            System.out.println(compare);
//
//            boolean compare3 =s3.equals(s4);
//            System.out.print(s3+":"+s4+"  比较大小写  ");
//            System.out.println(compare3);
//
//            //比较字符串，忽略大小写
//            boolean compare2 = s1.equalsIgnoreCase(s2);
//            System.out.print(s1+":"+s2+" 区分大小写  ");
//            System.out.println(compare2);
//
//
//        }
//    }
//package student.day15;
//
//import java.util.Scanner;
//
//    public class Demo2 {
//        public static void main(String[] args) {
//
//            //控制台录入的字符串与直接赋值的字符串比较
//            Scanner input = new Scanner(System.in);
//            System.out.print("请输入一个字符串");
//            String s1 = input.next(); //控制台输出的字符串是new出来的
//            //直接赋值的字符串
//            String s2 = "abc";
//            //使用== 号来判断
//            System.out.println(s1 == s2);
//            System.out.println("----------------");
//            //使用equals来判断
//            boolean compare = s1.equals(s2);
//            System.out.println(compare);
//        }
//    }
//package student.day15;
//
//import java.util.Scanner;
//
//    public class Demo3 {
//        public static void main(String[] args) {
//            Scanner input = new Scanner(System.in);
//
//            //申明用户名和密码
//            String password = "123456";
//            String name = "qwert";
//
//            //在控制台输入用户名和密码
//            for (int i = 1; i <= 3; i++) {
//                System.out.println("请输入用户名");
//                String s1 = input.next();
//                System.out.println("请输入密码");
//                String s2 = input.next();
//                boolean a1 = s1.equals(name);
//                boolean a2 = s2.equals(password);
//
//                //实现三次登入机会
//                if (a1 == true && a2 == true) {
//                    System.out.println("登入成功");
//
//                } else {
//                    System.out.println("登入失败");
//                }
//            }
//        }
//    }
//    package student.day15;
//
//import java.util.HashSet;
//import java.util.Random;
//import java.util.Scanner;
//import java.util.Set;
//
//    public class DoubleColorBall {
//        public static void main(String[] args) {
//            Scanner scanner = new Scanner(System.in);
//            //用户输入蓝球和红球
//            System.out.println("请输入1个蓝球（范围1-6）：");
//            int userBlueBall = scanner.nextInt();
//            while (userBlueBall <1 || userBlueBall >6){
//                System.out.println("蓝球输入错误，请重新输入（范围1-6）：");
//                userBlueBall = scanner.nextInt();
//            }
//            Set<Integer> userRedBalls = new HashSet<>();
//            System.out.println("请输入6个红球（范围1-33）：");
//            for (int i = 0; i < 6; i++) {
//                int redBall = scanner.nextInt();
//                while (redBall < 1 || redBall > 33 ){
//                    System.out.println("红球输入错误，请重新输入（范围1-33）：");
//                    redBall = scanner.nextInt();
//                }
//                userRedBalls.add(redBall);
//            }
//            //系统随机生成蓝球和红球
//            Random random = new Random();
//            int systemBlueBall = random.nextInt(6)+1;
//            Set<Integer> systemRedBalls = new HashSet<>();
//            while (systemRedBalls.size() < 6){
//                int redBall = random.nextInt(33) + 1;
//                systemRedBalls.add(redBall);
//            }
//            int blueMatch = (userBlueBall == systemBlueBall) ? 1:0;
//            int redMatch = 0;
//            for (int redBall : userRedBalls){
//                if(systemRedBalls.contains(redBall)){
//                    redMatch++;
//                }
//            }
//            System.out.println("您中了"+blueMatch+"个蓝球和"+redMatch+"个红球");
//            scanner.close();
//        }
//    }
//package student.day16;
//
//import java.util.ArrayList;
//import java.util.List;
//
//    public class ArrayListDemo {
//        public static void main(String[] args) {
//
//            //<Ineger> 泛型，集合内存放的数据类型
//            //List线性表 连续，有下标都称为线性表
//            List<Integer> list =new ArrayList<>();
//            //add把数据添加到末尾
//            list.add(26665);
//            list.add(4654);
//            list.add(55645);
//            list.add(4654);
//            System.out.println(list);
//
//        }
//    }
//package student.day16;
//
//import java.util.Scanner;
//
//    public class Demo1 {
//        public static void main(String[] args) {
//
//            //控制台输入一个字符串
//            Scanner input =  new Scanner(System.in);
//            System.out.println("请输入一个字符串");
//            String s1 = input.next();
//
//            //进行遍历
//            for (int i = 0; i <s1.length() ; i++) {
//                char c = s1.charAt(i);
//                System.out.println(c);
//            }
//
//        }
//    }

//    package student.day16;
//
//import java.util.Scanner;
//
//    public class Demo2 {
//        public static void main(String[] args) {
//
//            //控制台输入一个字符串
//            Scanner input = new Scanner(System.in);
//            System.out.println("请输入");
//            String s1 = input.next();
//
//            //统计大小写和数字
//            int number = 0;
//            int Uppercase = 0;
//            int Lowercase =0;
//            for (int i=0;i<s1.length();i++){
//
//            }
//        }
//    }

//    package student.day16;
//
//    public class Demo3 {
//        public static void main(String[] args) {
//            int num[] = new int[5];
//            int i =0;
//            int j =2;
//
//            //将可能发生错误的语句封入try块中
//            try{
//                while (i<6){
//                    j=j-1;
//                    num[i]=i;
//                    System.out.print(num[i]+"/"+j+"=");
//                    System.out.println(num[i]/j);
//                    i++;
//                }
//            }
//            catch (Exception e2){
//                System.out.println("除数不能是0");
//            }
//        }
//
//    }
//
//package student.day16;
//
//import java.io.File;
//import java.io.IOException;
//
//    public class FileDemo {
//        public static void main(String[] args) {
//            File file = new File("D:\\a.txt");
//            //测试是否可以执行文件
////        System.out.println(file.canExecute());
//            try {
//                file.createNewFile();
//            } catch (IOException e) {
//                throw new RuntimeException(e);
//            }
//        }
//    }
//package student.day16;
//
//import java.io.File;
//import java.util.Date;
//
//    public class StringBuilderDemo {
//        public static void main(String[] args) {

//        //创建对象
//        StringBuilder sb =new StringBuilder("sadfs");

//        //添加元素
//        sb.append(0.6);
//        sb.append("asjdaj");
//        sb.append(5232);
//        sb.append(true);
//
//        System.out.println(sb);

            //反转
//        sb.reverse();
//        System.out.println(sb);

//        //获取长度
//        int len = sb.length();
//        System.out.println(len);

            //替换



            //2.使用toString 将StringBuilder变回字符串；
            //创建对象
//        StringBuilder sb = new StringBuilder();
//        sb.append("aaaa");
//        sb.append("bbbb");
//        sb.append("cccc");
//        sb.append("dddd");
//
//        System.out.println(sb); //aaaabbbbccccdddd
//
//        String str = sb.toString();
//        System.out.println(str);

//
//            Date date =new Date();
//            System.out.println(date);
//        }
//
//    }
//package student.day16;
//
//    public class StringTest {
//        public static void main(String[] args) {
//            String s = "dsjhkfsdkghadsilu";
//            int num =0;
//            for (int i = 0; i <s.length() ; i++) {
//                char c = s.charAt(i);
//                if(c =='d'){
//                    num++;
//                }
//            }
//            System.out.println("该字符串d出现的次数"+num);
//        }
//    }

//    package student.day17;
//
//import java.util.Calendar;
//
//    public class CalenderDemo {
//        public static void main(String[] args) {
//            Calendar calendar = Calendar.getInstance();
//
//        }
//    }
//package student.day17;
//
//import java.util.Date;
//
//    public class DateDemo {
//        public static void main(String[] args) {
//
//            //获取当前时间
//            Date date = new Date();
//            System.out.println(date);
//            //创建距离格林尼治时间标准时间过了一千毫秒的日期
//            Date d1 = new Date(1000);
//            System.out.println(d1);
//            //测试此日期是否在指定日期之后
//            System.out.println(date.after(d1));
//            //测试此日期是否在指定日期之前
//            System.out.println(date.before(d1));
//            //比较两个日期的顺序
//            System.out.println(date.compareTo(d1));
//        }
//
//
//    }
//package student.day17;
//
//public class Demo1 extends Thread {
//
//    //起始值
//    private int beg;
//
//    //最终值
//    private int end;
//
//    //统计素数有多少个
//    public static int count = 0;
//
//    //构造方法
//    public Demo1(int beg,int end){
//        super();
//        this.beg=beg;
//        this.end=end;
//    }
//
//    public void run(){
//        //将素数输出，每输出一个素数就统计一次，同时
//        // 继续增加一次起始值，再来判断是否为素数。如果不是素数，则直接跳出循环
//
//        //创建一个死循环
//        while (true){
//            //特殊情况，当起始值大于初始值时，直接跳出循环
//            if(beg>end){
//                break;
//            }
//
//        }
//    }
// public boolean sushu(int beg){
//
// }

//}
//package student.day17;
//
//    class RunnableDemo implements Runnable{
//        @Override
//        public void run() {
//            System.out.println("线程开始运行");
//        }
//    }
//package student.day17;
//
//    public class SleepDemo1 {
//        public static void main(String[] args) {
//        //线程睡眠
//        System.out.println(1);
//        try {
//            Thread.sleep(20000);
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }
//        System.out.println(2);

            //join（）等待线程结束再执行
//        ThreadTest tt = new ThreadTest();
//        tt.start();
//        try {
//            tt.join();
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }
//        for (int i = 0; i < 10000; i++) {
//            System.out.println("main");
//        }

            //yield() 让出cpu资源
//        ThreadTest tt =new ThreadTest();
//        tt.start();
//        Thread.yield();
//        for (int i = 0; i < 10000; i++) {
//            System.out.println("main");
//        }


            //stop 线程的中断
//        ThreadTest tt = new ThreadTest();
//        tt.start();
//        try {
//            Thread.sleep(1);
//            tt.stop();
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }

//            //通过用标志指示线程停止
//            ThreadTest tt = new ThreadTest();
//            tt.start();
//            tt.a=false;
//
//        }
//    }
//package student.day17;
//
//    public class Test {
//        public static void main(String[] args) { //main方法本身就是一个线程
//
//            //使用Thread继承实现线程
////        ThreadTest tt = new ThreadTest();
////        tt.start();  //启动一个线程
//
//            //使用Runnable接口实现线程
////      1.new Thread(new ThreadTest()).start();
////      2.  ThreadTest tt = new ThreadTest();
////        Thread t = new Thread(tt);
////        t.start();
//
//            new ThreadTest().start();
//
//            //man方法本身就是一个线程，叫做main线程
//            for (int i = 0; i < 10000; i++) {
//                System.out.println("main");
//            }
//        }
//    }
//package student.day17;
//
//    public class ThreadTest extends Thread{
//        //    public void run(){
////        System.out.println("线程还是运行");
//        public boolean a;
//        public void run(){
//            while (a){
//                for (int i = 0; i < 10000; i++) {
//                    System.out.println(i);
//                }
//            }
//        }
//    }

//package student.day18;
//
//import java.util.ArrayList;
//import java.util.Collection;
//
//    public class CollectionDemo1 {
//        public static void main(String[] args) {
/*
public boolean add(E e)  添加
public void clear()      清空
public boolean remove(E e)删除
public boolean contains(Object obj) 判断是否包含
public boolean isEmpty() 判断是否为空
public int size 集合长度

注意点：
  Collection是一个接口，我们不能直接创建他的对象
  只能创建她的实现类的对象
  显示类：ArrayList
 */

            //目的：学习collection接口里面的方法
//            Collection<String> coll = new ArrayList<>();
//
//            //1.添加元素
//            coll.add("asda");
//            coll.add("asda");
//            coll.add("asda");
//            boolean a1 =coll.add("bbbb");
//            System.out.println(a1);
//            System.out.println(coll.add("safaf"));
//            System.out.println(coll);

            //清空元素
//        coll.clear();
//        System.out.println(coll);

            //删除元素
            //方法会有一个布尔类型的返回值。删除成功，返回true，删除失败，返回false
//        System.out.println(coll.remove("asda"));
//        System.out.println(coll);

            //判断元素是否包含
//        boolean result = coll.contains("bbbb");
//        System.out.println(result);

            //判断集合是否为空
//            boolean a2 =coll.isEmpty();
//            System.out.println(a2);
//
//            //判断集合的长度
//            int a3 =coll.size();
//            System.out.println(a3);
//        }
//    }
//package student.day18;
//import java.awt.Frame;
//    public class Demo1 {
//        public static void main(String[] args) {
//
//            //创建一个窗口对象
//            Frame frame = new Frame();
//
//            //设置宽，高
//            frame.setSize(1600,900);
//
//            //显示窗口
//            frame.setVisible(true);
//        }
//    }
//package student.day18;
//
//    public class Demo2 {

        //假设一共有100张火车票
//        private int ticket = 100;
//
//        //售票的方法
//        public synchronized void Ticketing(String window){
//            if(ticket >0){
//                System.out.println(window+"卖出了一张票，剩余："+--ticket);
//            }else {
//                System.out.println(window+"车票售尽");
//            }
//        }
//
//        public static void main(String[] args) {
//            Demo2 seller =new Demo2();
//
//            //创建A窗口的线程
//            Thread threadA = new Thread(() ->{
//                for (int i = 0; i < 50; i++) {
//                    seller.Ticketing("A窗口");
//                }
//            });
//
//            //创建B窗口线程
//            Thread threadB = new Thread(() ->{
//                for (int i = 0; i < 50; i++) {
//                    seller.Ticketing("B窗口");
//                }
//            });
//
//            //启动线程
//            threadA.start();
//            threadB.start();
//
//
//        }
//    }
//package student.day19;
//
//import java.util.ArrayList;
//import java.util.Collection;
//import java.util.List;
//
//    public class forDemo1 {
//
//        /*
//        增强for格式：
//          for（数据类型 变量名 ：集合/数组）{
//             方法体
//          }
//         */
//        public static void main(String[] args) {
//            //创建集合，添加元素
//            Collection<String> coll = new ArrayList<>();
//            coll.add("张三");
//            coll.add("李四");
//            coll.add("王五");
//
//            //利用增强for循环进行遍历 快速生成：coll.for
//            for(String s :coll){
//
//                s="sda";
//
//            }
//            System.out.println(coll);
//        }
//    }
//package student.day19;
//
//import java.util.ArrayList;
//import java.util.Collection;
//import java.util.Iterator;
//
//    public class IteratorDemo1 {
//        public static void main(String[] args) {
//
//            //创建集合添加元素
//            Collection<String> coll = new ArrayList<>();
//            coll.add("aaa");
//            coll.add("bbb");
//            coll.add("ccc");
//            coll.add("ddd");
//
//            //迭代器获取对象
//            Iterator<String> it1 = coll.iterator();
//            while (it1.hasNext()){
//                String next = it1.next();
//                System.out.println(next);
//            }

            //当上面循环结束后，迭代器指针已经指向最后没有元素的位置
            //System.out.println(it.next());//NoSuchElementException

            //当迭代器遍历完毕，指针不会复位
//        System.out.println(it1.hasNext()); //false

            //如果需要第二次遍历集合，只能再次获取一个新的迭代器对象
//        Iterator<String> it2 =coll.iterator();
//        while (it2.hasNext()){
//            String next2 = it2.next();
//            System.out.println(next2);

            //迭代器遍历时，不能使用集合的方法进行删除
//         if("bbb".equals(it1.next())){ //判断 "bbb"在集合中是否存在
//             coll.remove("bbb");
//        }
//    }
//

//package student.day19;
//
//import java.util.ArrayList;
//import java.util.List;
//
//    public class ListDemo1 {
//        public static void main(String[] args) {
//        /*List系类集合独有的方法：
//        void add(int index,E element)在此集合中指定位置插入指定元素
//        E remove(int index) 删除指定索引处的元素，返回删除得到元素
//        E set(int index,E element) 修改指定索引处的元素，返回被修改的的元素
//        E get(int index) 返回指定索引处的元素
//         */
//
//            //创建一个集合
//            List<String> list = new ArrayList<>();
//
//            //添加元素
//            list.add("aaa");
//            list.add("bbb");
//            list.add("ccc");


            //在集合指定位置插入元素
//        list.add(1,"ddd");

            //删除指定索引处的元素
//        String remove = list.remove(1);
//        System.out.println(remove);

            //修改指定索引处的元素
//        String modify = list.set(0,"www");
//        System.out.println(modify);

            //通过索引返回所在的元素
//            String s = list.get(0);
//            System.out.println(s);
//
//            //打印集合
//            System.out.println(list);
//
//        }
//    }
//
//package student.day19;
//
//import java.util.ArrayList;
//import java.util.Iterator;
//import java.util.List;
//import java.util.ListIterator;
//
//    public class ListDemo2 {
//        public static void main(String[] args) {
//
//            //创建集合并添加元素
//            List<String> list = new ArrayList<>();
//            list.add(0,"aaa");
//            list.add(1,"bbb");
//            list.add(2,"ccc");
//

            //1.迭代器
//        Iterator<String> it = list.iterator();
//        while (it.hasNext()){
//            String s = it.next();
//            System.out.println(s);
//        }

            //2.增强for s为一个第三方变量而已在循环中代表每一个元素
//        for (String s : list) {
//            System.out.println(s);
//        }

            //3.列表迭代器
//            ListIterator<String> sl = list.listIterator();
//            while (sl.hasNext()){
//                String str = sl.next();
//                System.out.println(str);
//            }
//        }
//    }
//package student.day19;
//
//import java.util.HashMap;
//import java.util.Map;
//
//    public class MapDemo1 {
//        public static void main(String[] args) {
//
//            //创建一个集合，并添加元素
//            //key - value
//            Map<String,String> map = new HashMap<>();
//            map.put("a","张三");
//            map.put("b","李四");
//            map.put("c","王五");
//
//            //获取元素
//            System.out.println(map.get("a"));
//        }
//    }

}
